約 4,181,190 件
https://w.atwiki.jp/memo_java/pages/8.html
TextViewのスクロールバー ・縦 ScrollView android layout_width ="fill_parent" android layout_height="fill_parent" TextView android id="@+id/name" android layout_width="wrap_content" android layout_height="wrap_content" android text="TextView" / /ScrollView ・横 HorizontalScrollView android layout_width="fill_parent" android layout_height="fill_parent" android id="@+id/HorizontalScrollView" TextView android id="@+id/name" android layout_width="wrap_content" android layout_height="wrap_content" android text="TextView" / /ScrollView /HorizontalScrollView
https://w.atwiki.jp/smartfone/pages/14.html
Android - Open Handset Alliance プロジェクト Androidオフィシャルサイト SDKダウンロード ウィキペディア Android Wikipedia Android
https://w.atwiki.jp/internet-notes/pages/20.html
目次 Androidについて Download SET UP Hello World フィードバック 更新履歴 Androidについて http //developer.android.com/index.html http //www.atmarkit.co.jp/fjava/column/koyama/koyama09_1.html http //www29.atwiki.jp/android/ http //www.saturn.dti.ne.jp/~npaka/android/index.html Download http //developer.android.com/sdk/1.1_r1/index.html SET UP http //developer.android.com/sdk/1.1_r1/installing.html http //android.siprop.org/index.php?%CA%D9%B6%AF%B2%F1%2F%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A5%AC%A5%A4%A5%C9 Hello World http //developer.android.com/guide/tutorials/hello-world.html フィードバック このページに関するコメントはこちらにお願いします。 名前 コメント 更新履歴 2009/03/21 ISE 新規作成 最終更新日時:2009年03月21日04時32分37秒
https://w.atwiki.jp/niflheimr/pages/4.html
Androidエミュレータについて気になる記事をまとめてみました。 Genymotion 超高速なAndroidエミュレータ「Genymotion」を試す | TeraDas-テラダス - 2015.1.6 【追記アリ】Genymotion – PCでAndroidを起動してKindleも読める♪ インストールから「Google Play」導入方法までまとめ | mogi2fruitsどっとねっと - 2015.1.22 【Androidエミュ】Genymotion☆3 - 2015.1.20 / 2ch andy だでがんの記憶 androidエミュレータの「andy」を試してみました。[PCでスマホアプリ] - 2015.3.4 BlueStacksのように意味の分からないアプリが大量にインストールされていて初期操作が良く分からないとかWindroyのように動作するアプリと動作しないアプリが明確に存在するという程酷い訳では、無いみたいです。 Windroy WindowsでAndroidのアプリを動かす「Windroy」を使ってみる | お部屋でモバイル 軽くてさくさく動作しますが、CPUにARMを前提としているアプリは動作しないようです。 紹介 Windows上で動くAndroidのエミュレーターまとめ【アンドロイドアプリ開発・デバッグ】 - NAVER まとめ - 2014.11.24 [スマートフォン] パソコンで使える、無料のAndroidエミュレーター一覧:Windows向け | Ouka Studio - 2014.8.28 すでに、大半のゲームアプリがチート対策(不正対策)としてエミュレーターからは使えなくしているので、導入してももうあまり意味がない。 労力を考えると、素直に格安タブレットでも買って、そちらを使ったほうがよほど建設的。
https://w.atwiki.jp/pcmemo/pages/25.html
Android Android SDKのインストーラにJDKが無いと言われる JDKが入っているのに 「Java SE Development Kit (JDK) not found.」 と言われる場合 64bit版WindowsだとJDKの使うレジストリの関係でインストーラがJDKを認識できないようです とりあえずzip版使えばOK 実機での実行/デバッグ 実機での実行 実機でもデバッグができるようにするEclipseならAndroid.xmlの「アプリケーション」タブからApplication Attributes内、debuggableをtrueに 直接編集する場合は、 application 要素に「android debuggable="true"」を追加 Eclipseでの実行実行やデバッグを押すとAndroid Device Chooserダイアログが出るので上側の実機デバイスを選択してOK AVDが自動で起動する場合、実行>実行(デバッグ)構成>Androidアプリケーション>(プロジェクト名)>ターゲット内のAVDのチェックを外して適用 ADBでの実機へのインストール・アンインストール 実機が繋がった状態でコマンドプロンプトから インストールadb install [.apkファイル] .apkはプロジェクトのbinフォルダにあるやつ アンインストールadb uninstall [パッケージ名] パッケージ名はcom.example~とかのやつ Android NDK ndk-build時に/cygdrive/g/David~が見つからないと言われる よくわからないけどWindowsのGドライブが関係しているようで、Daemon Toolsが作成していたGドライブを削除したら通るようになった。 参考URL https //groups.google.com/group/android-ndk/browse_thread/thread/7eb2ef515c1fca2?hl=ja
https://w.atwiki.jp/tako2lab/pages/18.html
Android Android関連の覚書とか。 基本的にEclipseを使って開発するようだけど、使わないでする方法もあるようなので、その線でやってみる。 #HaiPad を購入したので、ぼちぼち現状に合わせて書き直してみる [2010-10-25] Android SDK のインストール http //code.google.com/android/download.htmlからSDKをダウンロード バージョン r07 を使用 バージョン m3-rc22a を使用 Android 1.6 から SDK のインストール方法が変わったとか インストール方法 ⇒ http //developer.android.com/sdk/installing.html 適当なディレクトリに展開 展開したディレクトリを$SDK_ROOTとしたとき、$SDK_ROOT/toolsをパスに追加 後でcygwinから参照できるように C のルートに展開した (C \android-sdk-windows\tools をパスに追加) 各 SDK や USB ドライバのインストールは、SDK Manager から行う http //developer.android.com/sdk/adding-components.html JDK のインストール http //java.sun.com/javase/downloads/index.jsp JDK 6 Update 3 を使用 これもインストール先を C \Java にして展開 Apatch Ant のインストール http //ant.apache.org/ Apatch Ant 1.7 を使用 これもルートに展開 環境変数を設定 PATH に C \apache-ant-1.7.0\bin を追加 ANT_HOME に C \apache-ant-1.7.0 を設定 JAVA_HOME に C \Java\jdk1.6.0_03 を設定 プロジェクトの作成 activityCreator を使ってプロジェクトを作成 プロジェクトを作りたいディレクトリに移動して、次のようにコマンドを実行 activityCreator --out [プロジェクト名] [パッケージ名.アクティビティ名] % activityCreator.bat --out HelloTako tako.test.HelloTako プロジェクト名のついたディレクトリが作成される ビルド プロジェクトのディレクトリで ant を実行 % cd HelloTako % ant bin の下にできた .apk ファイルが実行ファイル HelloTako.apk 実行(デバッグ) エミュレータを起動 (C \android_sdk_windows_m3-rc22a\tools\emulator.exe) % emulator エミュレータと通信するためのサーバを起動 % adb start-server adb を使って .apk をインストール エミュレータはホーム画面に戻しておくこと % adb install HelloTako.apk ホームの Applications にインストールされるので、そこへ移動して実行 リンク android情報まとめ@wiki
https://w.atwiki.jp/katsuhiro/pages/20.html
android SDKのインストール エラーになったときは settings→「Force https //...sources to be fetched using http //...」にチェック Eclipseライブラリ https //dl-ssl.google.com/android/eclipse/
https://w.atwiki.jp/ohden/pages/319.html
Android関係の情報 参考になるサイト http //developer.android.com/ http //source.android.com/ http //android-developers.blogspot.jp/ https //sites.google.com/site/androyerjapan/ http //techbooster.org/category/android/ http //www.adakoda.com/android/ http //wikiwiki.jp/android/ ~アプリ作成~ ネタ ~環境構築~ ■ Android Studio Android Studio Beta ■ Android SDK 開発環境構築 【old】開発環境構築 for Win 【old】開発環境構築 for Linux repo ■ Titanium Studio http //preview.appcelerator.com/studio/ ■ PhoneGap ~Androidアプリ開発のtutorial的なものを書き綴っていくつもり~ Applicationの基本 Activityデザインの基本 エミュレータの使い方 Android/tutorial/ ~tips~ Androidのsource取得とbuild debugしたい時のつなぎ方 Android用makefileの書き方 Linuxアプリケーションの簡単な移植方法 Unicodeの使い方 セーフモードの入り方 apkファイルの解析方法 SDカードにコピーできない ~注意~ ndk-buildについて Android/tips/ ~Application~ busybox Androidのlibcとは Linux環境で多く使われてるC lib(GNU libc)とは互換性が無い。 Androidに使われているlibcは『Bionic libc』と言う。 Bionic libcとは Androidに使われているC lib。 Android用にカスタマイズされたlibのため、通常のC lib以外にAndroid専用の機能が追加されている。例えばシステムプロパティ取得機能、デバッグ時のlog出力機能。 Bionic libcは組込み向けに最適化されて提供されているので、GNU Libc(通常のLinux環境で使われているC lib)との互換性は無い。 つまり、LinuxのNativeCodeアプリケーションをAndroidへ移植する場合、使っている外部libを含めて、全てBionic libcでbuildし直す必要がある。 当然libraryも互換性が無いため、通常GNU Libcが見に行く『/usr/lib』『/usr/include』ではなく、Android NDKに用意された uClibc 組込み向けLinux向けのC library。標準的なlinuxで使われているglibcに比べて非常に小さくなっているが、機能もかなり削られている。 BionicとuClibcの関係が不明。 OABI Old Application Binary Interface Debianでは『arm』と記述されているらしい。EABIの方は『armel』と記述されるらしい。 浮動小数点演算にハードが持っている浮動小数点演算ユニットを用いる。当然ユニットが有ると高速に動作するが、無いとペナルティ(例外処理,コンテキストスイッチ)がものすごいらしい。 EABI Embedded Application Binary Interface Debianでは『armel』と記述されるらしい。OABIの方は『arm』と記述されるらしい。 浮動小数点演算については浮動小数点演算ユニットを持っていようがいまいが、ソフトウェアで解決する。 ※浮動小数点演算用の関数があるらしい。 そのため、コプロを用いた場合よりは遅くなるが、浮動小数点演算ユニットが無いチップでもそれなりの速度で浮動小数点演算を行える。 基本的にOABI互換。 Hardware ハードウェアメモ ZENITHINK e-PAD(ZT-180) REGZA Phone IS04 ALLDOCUBE iPlay7T ALLDOCUBE iPlay8T BMAX MaxPad I11 利用周波数帯 Type Frequency d a s r LTE b1 2.0 GHz ○ ○ ○ b3 1.7 GHz ○ ○ ○ ○ b8 900 MHz ○ b11 1.5 GHz ○ ○ b18 800 MHz ○ ○* b19 800 MHz ○ b21 1.5 GHz ○ b26 800 MHz ○ ○* b28 700 MHz ○ ○ b42 3.5 GHz ○ ○ ○ 5G n3 1.7 GHz ○ n28 700 MHz ○ ○ n77 3.7 GHz ○ ○ ○ n78 3.7 GHz ○ ○ n79 4.5 GHz ○ n257 28 GHz ○ ○ ○ ○ *auローミング Geekbench5 Device CPU COMPLETE https //browser.geekbench.com/v5/cpu/7254252 https //browser.geekbench.com/v5/cpu/7268088 https //browser.geekbench.com/v5/compute/2638247 https //browser.geekbench.com/v5/cpu/7268094 https //browser.geekbench.com/v5/compute/2638255 Device SoC Memory Single Multi BMAX i11 UNISOC T618(6x1.8GHz, 2x2.0GHz) 8GByte 369 1237 iPhone12 mini Apple A14 Bionic(6x3GHz) 4GByte 1583 3900 AQUOS sense6(SH-M19) Snapdragon 690 5G(6x1.7GHz, 2x2.0GHz) 6GByte 582 1682 AQUOS sense4 lite(SH-RM15) Snapdragon 720G(6x1.8GHz, 2x2.3GHz) 4GByte 549 1626 iPhoneSE(2016)1Gen Apple A9(2x1.8GHz) 2GByte 561 1047 iPhone5s Apple A7(2x1.3GHz) 1GByte 277 513 Amazon Fire HD 10(2019) KFMAWI MediaTek MT8183(2.0GHz) 2GByte 263 793 ALLDOCUBE T701 UNISOC SC9832E(4x1.4GHz) 2GByte 119 403 SHARP SHV34 Snapdragon 820 MSM8996(2x1.6GHz, 2x2.1GHz) 3GByte 238 626 Xperia XZ2 Compact(H8324) Snapdragon 845(4x1.8GHz, 4x2.8GHz) 4GByte 508 2256 Xperia Z4 Snapdragon 810 MSM8994(4x2.0GHz, 4x1.5GHz) 3GByte 518 2277 Asus MeMO Pad FHD10(ME302KL) Atom Z2560(2x1.6GHz) 2GByte 97 362 pickup対象が適当で、変な数値の取ってるかもしらん...今度見直す。 更新日: 2022年05月30日 (月) 15時37分44秒 http //www.embedded.jp/ 日本の組込情報 -- (s1n) 2011-03-02 14 42 18 『chcp 65001』 adbでの文字化け回避方法 -- (s1n) 2011-03-17 18 06 47 http //unity3d.com/japan/ unity game engine -- (s1n) 2012-03-28 15 22 29 titanium http //d.hatena.ne.jp/r_kurain/20110306/1299393778 -- (s1n) 2012-03-28 15 23 17 Android4.0:http //www.atmarkit.co.jp/fsmart/articles/android33/01.html Android4.1:http //www.atmarkit.co.jp/fsmart/articles/android26/01.html -- (s1n) 2012-11-20 18 18 24 http //www.atmarkit.co.jp/ait/articles/1209/19/news138.html Greeのソシャゲ-用フレームワーク -- (s1n) 2012-11-20 18 24 49 Android3.xからRenderScriptでLLVMの技術が使われてるらしい。 LLVM、AOT、JIT、辺りがキーワード? -- (s1n) 2012-12-12 13 58 29 http //blog.kmckk.com/archives/4036235.html -- (s1n) 2012-12-12 13 58 49 genymotion 軽いAndroidエミュレータ -- (s1n) 2014-03-07 19 31 49 https //snack.expo.io/ web上で完結する開発環境 -- (s1n) 2018-09-18 09 23 12 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/devemin/pages/13.html
●Activityの回転時の再生成への対応 ①再起動させなければいいので、onConfigurationChanged() メソッドをオーバーライド ②Activityのマニフェストに android configChanges="orientation|keyboardHidden" @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); } http //d.hatena.ne.jp/hyoromo/20090712/1247385249 (Softbank 005SHでは、keyboardHiddenが必要だった。) ●Eclipseの入力補完(オートコンプリート)が遅い件 バージョン3.62にすれば問題ないらしい ●アップデート後など、eclipseが起動しなくなった場合 eclipse\configuration\jp.sourceforge.mergedoc.pleiades フォルダを削除したらOKだった ●Android アプリ開発時、有料・無料の2種プロジェクトを作るTips (ソースを2プロジェクトで共有する方法) こちらを参考にさせてもらいました。 (Androidの無料アプリ・有料アプリを切り替えてビルドする方法) http //d.hatena.ne.jp/eaglesakura/20100629/1277832265 上記URLで書いてあった方法は、部分的に、自分のアプリでは対応できない部分があったので、自分のやった方法で、全体名流れを補足。 まず2つプロジェクトを普通に作る。(基本app-freeと派生app-paid) 2つのパッケージ名はそれぞれ、 com.appli.free com.appli.paid など、最後の1段落のみ変えたりするとわかりやすいかも。 プロジェクト名は、ここでは「app-free」「app-paid」としてみる。 派生プロジェクトpaidでは、src、assets、resディレクトリを、 リンクしたディレクトリとする。 派生プロジェクトapp-paidでは、基本プロジェクトapp-free内の自動生成ファイルR.javaが必要になる。 手動で毎回やるのは酷なので、派生プロジェクトapp-paidビルド時に毎回app-free側のR.javaが自動でコピーされるよう、バッチファイルを作成、プロジェクトのプロパティ、ビルダー、で、ビルド時に毎回実行されるようにする。初回はプロジェクトのクリーンを実行で、×マーク消える。 ${build_project}\rcopy.bat ${build_project} 上記サイトを参考にさせていただきました。 rcopy.bat -------------------------------- @echo off SET PARENT_PROJECT=app-free SET CURRENT_PROJECT=app-paid REM 定義ファイルをコピーする cd ..\%PARENT_PROJECT%\ REM genフォルダをコピーする xcopy /s /e /y .\gen ..\%CURRENT_PROJECT%\gen cd ..\CURRENT_PROJECT\ -------------------------------- リソースを共有するので、有料版、無料版をそれぞれリソースに含めるので、容量はダブって損となる。気にする人は気にするかも?でも自分は利便性を取りました。 @string/app_name @string/app_name_paid @drawable/icon @drawable/icon_paid AndroidManufest.xmlは、アプリそれぞれに設定する。 (パッケージ名、label ) アクティビティ名を、省略名ではなく、 activity android name="light.diary.plus.EditWindow" などにする必要があるかも これらの結果、 app-freeプロジェクト、はほかの通常のプロジェクトとなんら変わりない app-paidプロジェクトは、res, asset, srcがリンクフォルダであり、src内パッケージは「com.appli.free」がある状態。 ×印が消えない場合は、プロジェクトのクリーン&eclipseの再起動、F5キーによるリフレッシュなどをトライ。 (必要に応じて、import light.diary.plus.R; ?) 有料・無料の処理切り分けは、getPackageName()で行う。 ●プログレスダイアログProgress Dialog 既に動いているサンプルをそのまま使うのが吉。 スレッド以外でGUI操作するとメモリエラーとなる。 https //groups.google.com/forum/#!msg/android-group-japan/0YlnSLptx8w/g6kAZuxrR14J 引用 ProgressDialog progressDialog; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); progressDialog = new ProgressDialog(this); /*progressDialog.setTitle("処理中"); progressDialog.setMessage("処理を実行中です"); progressDialog.setIndeterminate(false); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressDialog.show();*/ Thread thread = new Thread(this); thread.start(); } public void run() { // 時間のかかる処理をここに記述。 try { progressDialog.setTitle("処理中"); progressDialog.setMessage("処理を実行中です"); progressDialog.setIndeterminate(false); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); handler.post(new Runnable() { @Override public void run() { progressDialog.show(); } }); Thread.sleep(5000); } catch (InterruptedException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } handler.sendEmptyMessage(0); } private Handler handler = new Handler() { public void handleMessage(Messa ●ADTアップデート等エラーのときのEclipse クリーン http //www.hlplus.jp/php/blog/index.php?UID=1298450960 名前 コメント
https://w.atwiki.jp/redcloud/pages/13.html
目次 目次 SDK 1.6 SDK導入 Eclipse ADT導入 Eclipse 3.4の場合 Eclipse 3.5の場合 仮想マシンAVD作成 SDK 2.0 SDK導入 Eclipse ADT導入 Eclipse 3.5の場合 add-ons ファイルの取得 仮想マシンAVD作成 ツール adb adb devices 接続デバイス確認 adb shell コンソール接続 adb install アプリインストール adb push ファイル転送 開発 Eclipse ADTでHello World SDK1.5ベース SDK1.6ベース SDK2.0ベース Map使用アプリ ステータスバー使用アプリ いじる HT-03A 道化 カスタムROM導入 読書メモ お勉強 リンク SDK 1.6 SDK導入 ダウンロードここから android-sdk-windows-1.6_r1.zip をダウンロード C \local\android-sdk-windows-1.6_r1 に解凍 PATH環境変数に、 上記解凍先フォルダ \tools を追加 Eclipse ADT導入 Eclipse 3.4の場合 eclipseを起動して、[ヘルプ]- [ソフトウェアの更新]で[使用可能なソフトウェア]タブを選択し、[サイトの追加]を押下 https //dl-ssl.google.com/android/eclipse/ を追加して、正常に追加できていることを確認 ※2009/11/3時点でバージョンは0.9.4 追加したサイトにチェックを入れ[インストール]押下 ※上記方法でうまくいかなければ。。。↓ ※実際に "No repository found containing org.apache.oro/osgi.bundle/2.0.8.v200903061218" というエラーが発生した! ダウンロードここから ADT-0.9.3.zip をダウンロード eclipseを起動して、[ヘルプ]- [ソフトウェアの更新]で[使用可能なソフトウェア]タブを選択し、[サイトの追加]を押下 [アーカイブ]を押下し、ダウンロードしてきたzipを指定、正常に追加される事を確認 追加したサイトにチェックを入れ[インストール]押下 ※アップデートの場合は下記のようなダイアログが出る ※これでもうまくいかず。。。Eclipseを3.5にするしかなさそう Eclipse 3.5の場合 eclipseを起動して、[ヘルプ]- [新規ソフトウェアのインストール]- [追加]で、https //dl-ssl.google.com/android/eclipse/ を追加 使用可能なソフトウェアの画面に戻って、[作業対象]プルダウンで追加したandroidのURLを選択。ソフトウェア表示欄にDeveloper Toolsが表示される事を確認 全てにチェックを入れて[次へ]。後はインストールをひたすら進める。(警告が出てもOKする) [ウインドウ]- [設定]- [Android]で、[SDKロケーション]にインストールしたAndroidSDKのフォルダを指定 仮想マシンAVD作成 コマンドプロンプトを開いて下記を実行 android create avd -n SDK16 -t 4 -c 128M エミュレータ起動確認 emulator @SDK16 SDK 2.0 ※SDK1.6からのアップデートを前提とした手順を記述する SDK導入 ダウンロードここから C \local\android-sdk-windows に解凍 PATH環境変数に、 上記解凍先フォルダ \tools を追加 Eclipse ADT導入 Eclipse 3.5の場合 eclipseを起動して、[ヘルプ]- [新規ソフトウェアのインストール]- [追加]で、https //dl-ssl.google.com/android/eclipse/ を追加 使用可能なソフトウェアの画面に戻って、[作業対象]プルダウンで追加したandroidのURLを選択。ソフトウェア表示欄にDeveloper Toolsが表示される事を確認 全てにチェックを入れて[次へ]。後はインストールをひたすら進める。(警告が出てもOKする) [ウインドウ]- [設定]- [Android]で、[SDKロケーション]にインストールしたAndroidSDKのフォルダを指定 add-ons ファイルの取得 eclipseを起動して、[ウインドウ]- [Android SDK and AVD Manager] [Available Packages]のリポジトリを展開し、必要な物にチェックを入れ[Install Selected]- [Accept All]にチェックを入れ[Install Accepted] 仮想マシンAVD作成 eclipseを起動して、[ウインドウ]- [Android SDK and AVD Manager] [Virtual Devices]を選択して[新規]を押下して Create new AVD画面を開く Maps APIをSDK1.5ベースで使用できる「Google APIs API Level 3」を使用する前提で。。。 名前…任意の名前を入力 ターゲット…"Google APIs(Google Inc) - API Level 3" SD Card…サイズ=任意(とりあえず128 MiB) Skin…Built-In=任意(とりあえずDefault) SDK1.6ベースの「API Level 4」を使用する前提で。。。 ターゲット…"Android 1.6 - API Level 4" SDK2.0ベースの「API Level 5」を使用する前提で。。。 ターゲット…"Android 2.0 - API Level 5" 以上を入力して[Create AVD] ツール adb adb devices 接続デバイス確認 PCに接続中のデバイス(エミュレータも含む)を表示する adb devices List of devices attached HT********** device ←実機 emulator-**** device ←エミュレータ adb shell コンソール接続 adb (-s serial number ) shell adb install アプリインストール apkファイル形式のアプリを接続中のデバイスにインストールする adb (-s serial number ) install c \hoge.apk adb push ファイル転送 SDカードにPC上のファイルを転送する adb (-s serial number ) push "c \hoge.txt" /sdcard/hoge.txt 開発 Eclipse ADTでHello World SDK1.5ベース SDK1.6ベース SDK2.0ベース Map使用アプリ TODO ステータスバー使用アプリ TODO いじる HT-03A 道化 このリンクを、Gmailからorブラウザから起動 ファイルマネージャ(AndExplorerなど)で /sdcard/download を開き(※DolphinブラウザでDLした場合はここだった)、ダウンロードしたapkファイルを選択 TODO カスタムROM導入 TODO 読書メモ Android/読書メモ お勉強 Android/お勉強 リンク TODO